package linz


/**
 * 手写内置函数
 */
fun main() {
    // TODO 官方 true 返回Kotlin,false 返回null
    var r = "Kotlin".takeIf {
        false // true
    }
    println()

    // 自定义
    val r2 = "GOOD".mTakeIf {
        true
    }

}


private  inline fun<I> I.mTakeIf(action: (I) -> Boolean) = if(action(this)) this else null